dotCMS 1.6 Release
do more

---
April 26, 2008
---

The purpose of this document is to highlight some of the major differences between 1.5 and 1.6.  
These highlights will include new features/improvements as well as things that behave differently 
then in previous versions. This document will also cover how to update from 1.5.1. 

****Key Features
1. Captcha Sound functionality added

2. Relationships now stored in dotCMS index.  If you relate content you can now pull those relationships in your pullContent query. 
	ie... #pullContents('+type:content +structureInode:2 +relationshipName:{yourContentIdentifier}' '5' 'modDate')

3. AJAX Calendar

4. dotCMS now ships with a starter site.  So when you first run 1.6 you will get a complete site which has examples
	of the calendar, news pulls and macros. 

5. Many Macro improvements and additions. Some of the key ones are
	1. Pull RSS which can take a RSS feed for use on your site
	2. BuildRSS which can turn content into an RSS Feed
	3. A ticker
	4. An Updated Photo Gallery
	5. Tag Clouds
	6. Permalinks 
	7. Social Bookmarking
	8. A Photo Carrousel
	9. Google integration macros for both the Google Mini and Google Syndication 

6. Content is now permissioned on the front end of your site.  In previous versions of dotCMS you could
	lock down a page but if you had access to the page you could see the content on it.  Now you can
	have a news page that is public which has permissioned content on it.

7. Over 450 bugs and other improvements made to the core system.  For a complete list, visit:
	http://jira.dotmarketing.net/browse/DOTCMS?report=com.atlassian.jira.plugin.system.project:changelog-panel

****Key Improvements
1. LDAP integration has been significantly improved.  In the past there were separate LDAP hooks but now there is
	a single hook which can integrate into any LDAP v3 server. The LDAP configuration has also been given power and simplicity
	by allowing LDAP attributes to be directly mapped to dotCMS attributes. ie... uid=username, sn=name

2. Internationalization code is much improved.

3. Apache Tomcat upgraded from 5 to 6  

4. DB performance improved

5. Structure UI simplified 

****Notes
1. If you wish to add Jcaptcha Sound functionality you MUST copy the following jars 
	located in /common/lib/ext to your local JAVA_HOME/jre/lib environment:
	cmulex.jar  
	cmudict04.jar  
	jcaptcha-all-1.0-RC6.jar 
	cmu_us_kal.jar  
	cmutimelex.jar  
	cmutimelex.jar  
	freetts.jar  
	jsapi.jar  
	en_us.jar  
	voices.txt  
	cmu_time_awb.jar 
	
2. Content now respects permissions on the front end as well. This means that if a user is not logged in and a 
	piece of content is on the page it will not show that content.  
	Under sql/maintenance/{DBNAME}/setAllCOntentCMSAnonymous.sql you have a sql script that can update all your content.
	
3.  Content previewing has changed when viewing on edit/preview/live mode in the back-end. 
	Before no permissioning was applied to filter the display of content on containers and pulled content. 
	Now everything is based on permissions and the roles of the user how is logged in. 
	Here it are the rules of content display on the different views:

	Edit Mode: Any content is showed based on the user credentials of the back-end user for content added 
		to containers, content based on dynamic	pull always check permissions based on front-end login.

	Preview Mode: Any content is showed based on the user credentials of the frontend user, that way preview mode 
		will look exactly has any other page visitor will see without been logged in the back-end, 
		of course, preview mode is intended to show not published content so content displayed may be the working 
		version and not look exactly has the live view until content get published.

	Live Mode: Behaves exactly like preview mode but displaying only published content but again checking permissions
		against the frontend logged in user.
		
*****How to upgrade 1.5.1 to 1.6 or 1.6.0.1
1. Backup your dotCMS directory and database. Make sure you get good backups :)

2. Download the dotCMS 1.6 and unzip it.

3. From your 1.5.1 dotCMS copy the directory /liferay/assets to the 1.6 dotCMS /dotCMS/

4. If you have changed velocity files or jsps on the filesystem you will also need to move them.  If you don't
	know what these are then you probably haven't.  

5. From your 1.5.1 dotCMS copy the directory /liferay/reports to the 1.6 dotCMS /dotCMS/

6. Now you need to update your database. 
	In your 1.6 dotCMS run the proper upgrade sql. /sql/upgrade/{DBName}/1_5_1_to1_6{DBName}.sql
		and /sql/upgrade/{DBName}/1_6_0_to_1_6_0_2.sql
	Note: for MSSql you have 2 files to run labeled 1 and 2 with the same name. 

7. Time to tell dotCMS 1.6 where your database is.  This was previously done in the conf/server.xml but is now done in
	conf/Catalina/localhost/ROOT.xml.
	Uncomment the database you are using in the config.	
	
	You will need to update the last part of the URL to your database name along with username:password.
	The following is an example of a postgres config pointing to a database named dotcms

	<!-- POSTGRESQL -->
	<Resource name="jdbc/LiferayPool" auth="Container"
		  type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
		  url="jdbc:postgresql://127.0.0.1/dotcms"
		  username="postgres" password="xxxxx" maxActive="50" maxIdle="10" maxWait="-1"
		  removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"/>

8. Check your setting in conf/server.xml are correct.
	This file is all new. Make sure that ip, ports, settings and ssl are all configured
	correctly (configuring Tomcat is outside the scope of this document).
	By default dotCMS will automatically run on localhost. If you need 
	the dotCMS to run on a particular IP address, edit the ./conf/server.xml file and search 
	the connector and server tags and add the address property on both. E.G.
	
	<Server address="208.250.1.102" port="8005" shutdown="SHUTDOWN" debug="0">
	...
	 <Connector address="208.250.1.102" port="80"
				   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
				   enableLookups="false" redirectPort="8443" acceptCount="100"
				   debug="0" connectionTimeout="20000"
				   disableUploadTimeout="true" /> 
				  
9. If you are on a UNIX box, change the /bin scripts permissions, 
	add execution permission to *.sh in the bin dir.
	> cd /wwwroot/test.dotcms.org/bin
	> chmod 755 *.sh

10. Start your dotCMS using bin/startup.bat or bin/startup.sh depending on whether on UNIX or Windows.

11. Log into the dotCMS as an admin and goto CMS Maintenance usually under CMS Admin tab and do the following.
	1. Execute Fix Asset Inconsistencies
	2. Delete static files
	3. Flush Cache
	4. Reindex all structures  
	
12. Enjoy!  If you run into issues, please report them to us here: http://jira.dotmarketing.net/browse/DOTCMS

*****How to upgrade 1.6 to 1.6.0.1
1. Backup your dotCMS directory and database. Make sure you get good backups :)

2. Download the dotCMS 1.6.0.1 and unzip it.

3. From your 1.6 dotCMS copy the directory /liferay/assets to the 1.6 dotCMS /dotCMS/

4. If you have changed velocity files or jsps on the filesystem you will also need to move them.  If you don't
	know what these are then you probably haven't.  

5. From your 1.6 dotCMS copy the directory /liferay/reports to the 1.6.0.1 dotCMS /dotCMS/
 
6. In your 1.6 dotCMS run the proper upgrade sql. /sql/upgrade/{DBName}/1_6_0_to_1_6_0_2.sql

7. Time to tell dotCMS 1.6 where your database is.  This was previously done in the conf/server.xml but is now done in
	conf/Catalina/localhost/ROOT.xml.
	Uncomment the database you are using in the config.	
	
	You will need to update the last part of the URL to your database name along with username:password.
	The following is an example of a postgres config pointing to a database named dotcms

	<!-- POSTGRESQL -->
	<Resource name="jdbc/LiferayPool" auth="Container"
		  type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
		  url="jdbc:postgresql://127.0.0.1/dotcms"
		  username="postgres" password="xxxxx" maxActive="50" maxIdle="10" maxWait="-1"
		  removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"/>

8. Check your setting in conf/server.xml are correct.
	This file is all new. Make sure that ip, ports, settings and ssl are all configured
	correctly (configuring Tomcat is outside the scope of this document).
	By default dotCMS will automatically run on localhost. If you need 
	the dotCMS to run on a particular IP address, edit the ./conf/server.xml file and search 
	the connector and server tags and add the address property on both. E.G.
	
	<Server address="208.250.1.102" port="8005" shutdown="SHUTDOWN" debug="0">
	...
	 <Connector address="208.250.1.102" port="80"
				   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
				   enableLookups="false" redirectPort="8443" acceptCount="100"
				   debug="0" connectionTimeout="20000"
				   disableUploadTimeout="true" /> 
				  
9. If you are on a UNIX box, change the /bin scripts permissions, 
	add execution permission to *.sh in the bin dir.
	> cd /wwwroot/test.dotcms.org/bin
	> chmod 755 *.sh

10. Start your dotCMS using bin/startup.bat or bin/startup.sh depending on whether on UNIX or Windows.

11. Log into the dotCMS as an admin and goto CMS Maintenance usually under CMS Admin tab and do the following.
	1. Execute Fix Asset Inconsistencies
	2. Delete static files
	3. Flush Cache
	4. Reindex all structures  
	
12. Enjoy!  If you run into issues, please report them to us here: http://jira.dotmarketing.net/browse/DOTCMS

*****How to upgrade 1.6 or 1.6.0.1 to 1.6.0.2
1. Backup your dotCMS directory and database. Make sure you get good backups :)

2. Download the dotCMS 1.6.0.2 and unzip it.

3. From your original 1.6 dotCMS copy the directory /liferay/assets to the original 1.6 dotCMS /dotCMS/

4. If you have changed velocity files or jsps on the filesystem you will also need to move them.  If you don't
	know what these are then you probably haven't.  

5. From your original 1.6 dotCMS copy the directory /liferay/reports to the 1.6.0.2 dotCMS /dotCMS/
 
6. In your 1.6 dotCMS run the proper upgrade sql. /sql/upgrade/{DBName}/1_5_1_to1_6{DBName}.sql
		and /sql/upgrade/{DBName}/1_6_0_to_1_6_0_2.sql

7. Time to tell dotCMS original 1.6 where your database is.  This was previously done in the conf/server.xml but is now done in
	conf/Catalina/localhost/ROOT.xml.
	Uncomment the database you are using in the config.	
	
	You will need to update the last part of the URL to your database name along with username:password.
	The following is an example of a postgres config pointing to a database named dotcms

	<!-- POSTGRESQL -->
	<Resource name="jdbc/LiferayPool" auth="Container"
		  type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
		  url="jdbc:postgresql://127.0.0.1/dotcms"
		  username="postgres" password="xxxxx" maxActive="50" maxIdle="10" maxWait="-1"
		  removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"/>

8. Check your setting in conf/server.xml are correct.
	This file is all new. Make sure that ip, ports, settings and ssl are all configured
	correctly (configuring Tomcat is outside the scope of this document).
	By default dotCMS will automatically run on localhost. If you need 
	the dotCMS to run on a particular IP address, edit the ./conf/server.xml file and search 
	the connector and server tags and add the address property on both. E.G.
	
	<Server address="208.250.1.102" port="8005" shutdown="SHUTDOWN" debug="0">
	...
	 <Connector address="208.250.1.102" port="80"
				   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
				   enableLookups="false" redirectPort="8443" acceptCount="100"
				   debug="0" connectionTimeout="20000"
				   disableUploadTimeout="true" /> 
				  
9. If you are on a UNIX box, change the /bin scripts permissions, 
	add execution permission to *.sh in the bin dir.
	> cd /wwwroot/test.dotcms.org/bin
	> chmod 755 *.sh

10. Start your dotCMS using bin/startup.bat or bin/startup.sh depending on whether on UNIX or Windows.

11. Log into the dotCMS as an admin and goto CMS Maintenance usually under CMS Admin tab and do the following.
	1. Execute Fix Asset Inconsistencies
	2. Delete static files
	3. Flush Cache
	4. Reindex all structures  
	
12. Enjoy!  If you run into issues, please report them to us here: http://jira.dotmarketing.net/browse/DOTCMS